package com.stitch.dcslock.annotation;

import java.lang.annotation.*;
import java.util.concurrent.TimeUnit;

/**
 * 分布式锁注解
 * - 作用于方法，自动加锁、解锁
 */
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
@Documented
public @interface DistributedLock {
    String key(); // Redis 锁的 Key

    long waitTime() default 5; // 获取锁的等待时间（秒）

    long leaseTime() default 10; // 锁的自动释放时间（秒）

    TimeUnit timeUnit() default TimeUnit.SECONDS; // 时间单位
}
